From 9ee3d73a19f71492b6cba77b1e9fa42e3461fdd3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Javier=20Jard=C3=B3n?= Date: Thu, 15 Jul 2010 16:49:45 +0200 Subject: [PATCH] Add _gtk_check_menu_item_set_active() internal function It's needed by gtkradiomenuitem Fixes https://bugzilla.gnome.org/show_bug.cgi?id=624432 --- gtk/gtkcheckmenuitem.c | 20 ++++++++++++++++++++ gtk/gtkcheckmenuitem.h | 5 +++++ gtk/gtkradiomenuitem.c | 6 +++--- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c index 32bebf7e39..55aa8f4873 100644 --- a/gtk/gtkcheckmenuitem.c +++ b/gtk/gtkcheckmenuitem.c @@ -586,3 +586,23 @@ gtk_check_menu_item_set_property (GObject *object, break; } } + + +/* Private */ + +/* + * _gtk_check_menu_item_set_active: + * @check_menu_item: a #GtkCheckMenuItem + * @is_active: whether the action is active or not + * + * Sets the #GtkCheckMenuItem:active property directly. This function does + * not emit signals or notifications: it is left to the caller to do so. + */ +void +_gtk_check_menu_item_set_active (GtkCheckMenuItem *check_menu_item, + gboolean is_active) +{ + GtkCheckMenuItemPriv *priv = check_menu_item->priv; + + priv->active = is_active; +} diff --git a/gtk/gtkcheckmenuitem.h b/gtk/gtkcheckmenuitem.h index 3b536e0d98..e76ba5e081 100644 --- a/gtk/gtkcheckmenuitem.h +++ b/gtk/gtkcheckmenuitem.h @@ -90,6 +90,11 @@ void gtk_check_menu_item_set_draw_as_radio (GtkCheckMenuItem *check_menu_i gboolean gtk_check_menu_item_get_draw_as_radio (GtkCheckMenuItem *check_menu_item); +/* private */ +void _gtk_check_menu_item_set_active (GtkCheckMenuItem *check_menu_item, + gboolean is_active); + + G_END_DECLS #endif /* __GTK_CHECK_MENU_ITEM_H__ */ diff --git a/gtk/gtkradiomenuitem.c b/gtk/gtkradiomenuitem.c index 5d2745e42a..abf7a4c028 100644 --- a/gtk/gtkradiomenuitem.c +++ b/gtk/gtkradiomenuitem.c @@ -164,7 +164,7 @@ gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item, } else { - gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (radio_menu_item), TRUE); + _gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (radio_menu_item), TRUE); /* gtk_widget_set_state (GTK_WIDGET (radio_menu_item), GTK_STATE_ACTIVE); */ } @@ -480,13 +480,13 @@ gtk_radio_menu_item_activate (GtkMenuItem *menu_item) if (tmp_menu_item) { toggled = TRUE; - gtk_check_menu_item_set_active (check_menu_item, !active); + _gtk_check_menu_item_set_active (check_menu_item, !active); } } else { toggled = TRUE; - gtk_check_menu_item_set_active (check_menu_item, !active); + _gtk_check_menu_item_set_active (check_menu_item, !active); tmp_list = priv->group; while (tmp_list) -- 2.30.2